import request from '@/config/axios'

// 已领用物料 VO
export interface MaterialUsageVO {
  id: number // 编号
  serialNo: string // 序列号
  batchNo: string // 批次号
  docNo: string // 工单号
  itemCode: string // 材料品号
  itemName: string // 材料品名
  itemSpecification: string // 材料规格
  fiberPalletNo: string // 纤盘号
  qty: number // 数量
  consumedQty: number // 已消耗
  unit: string // 单位
  materialType: string // 类型(成品/半成品/原料)
  parentId: string // 分盘来源ID(父ID)
}

// 已领用物料 API
export const MaterialUsageApi = {
  // 查询已领用物料分页
  getMaterialUsagePage: async (params: any) => {
    return await request.get({ url: `/opticore/material-usage/page`, params })
  },

  // 查询已领用物料详情
  getMaterialUsage: async (id: number) => {
    return await request.get({ url: `/opticore/material-usage/get?id=` + id })
  },

  // 查询已领用物料详情
  getMaterialUsageByDocNo: async (docNo: string,materialType:string) => {
    return await request.get({ url: `/opticore/material-usage/getMaterialUsageByDocNo?docNo=` + docNo+`&materialType=`+materialType })
  },

  // 新增已领用物料
  createMaterialUsage: async (data: MaterialUsageVO) => {
    return await request.post({ url: `/opticore/material-usage/create`, data })
  },

  // 修改已领用物料
  updateMaterialUsage: async (data: MaterialUsageVO) => {
    return await request.put({ url: `/opticore/material-usage/update`, data })
  },

  // 删除已领用物料
  deleteMaterialUsage: async (id: number) => {
    return await request.delete({ url: `/opticore/material-usage/delete?id=` + id })
  },

  // 导出已领用物料 Excel
  exportMaterialUsage: async (params) => {
    return await request.download({ url: `/opticore/material-usage/export-excel`, params })
  },

  // 根据物料序列号获取物料信息
  getMaterialInfoBySerialNo: async (serialNo: string) => {
    return await request.get({url: `/opticore/material-usage/getMaterialUsageById/${serialNo}`})
  }
}
